home *** CD-ROM | disk | FTP | other *** search
/ InterCD 2001 May / may_2001.iso / intercd / root / Multimedia / ^DivX_Article / virtualdub / VirtualDub-source-1_4d / MonoBitmap.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-03-20  |  1.4 KB  |  49 lines

  1. //    VirtualDub - Video processing and capture application
  2. //    Copyright (C) 1998-2001 Avery Lee
  3. //
  4. //    This program is free software; you can redistribute it and/or modify
  5. //    it under the terms of the GNU General Public License as published by
  6. //    the Free Software Foundation; either version 2 of the License, or
  7. //    (at your option) any later version.
  8. //
  9. //    This program is distributed in the hope that it will be useful,
  10. //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12. //    GNU General Public License for more details.
  13. //
  14. //    You should have received a copy of the GNU General Public License
  15. //    along with this program; if not, write to the Free Software
  16. //    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  17.  
  18. #ifndef f_MONOBITMAP_H
  19. #define f_MONOBITMAP_H
  20.  
  21. #include <windows.h>
  22.  
  23. class MonoBitmap {
  24. private:
  25.     struct {
  26.         BITMAPINFO bi;
  27.         COLORREF crFore;
  28.     } bi;
  29.  
  30.     HBITMAP        hbm;
  31.     HDC            hdcCompat;
  32.     HBRUSH        hbrBlack;
  33.     void *        lpvBits;
  34.     int            iPitch;
  35.  
  36. public:
  37.     MonoBitmap(HDC hdcRef, int width, int height, COLORREF crFore, COLORREF crBack);
  38.     ~MonoBitmap();
  39.  
  40.     void    Clear();
  41.     void *    getBits() { return lpvBits; }
  42.     HDC        getDC() { return hdcCompat; }
  43.     int        getPitch() { return iPitch; }
  44.     void    BitBlt(HDC hdcDest, LONG x, LONG y);
  45.     void    BitBlt(HDC hdcDest, LONG dx, LONG dy, LONG sx, LONG sy, LONG w, LONG h);
  46. };
  47.  
  48. #endif
  49.